$(function(){
	$("#regemail").focus(function(){
		$("#regemail_msg").text("");
		$("#regemail").css("border-color","#5095ED");
	});
	
	/*邮箱失焦*/
	$("#regemail").blur(function(){
		var email=$.trim($(this).val());
		//先校验邮箱格式，如果邮箱格式条件满足，则开始发送请求
		var filter  = /^[\w\.-]+?@qq.com$/;
		if(email==""){
			$("#regemail_msg").text("邮箱不能为空...").css("color","red");
		}else if(!filter.test(email)){
			$("#regemail_msg").text("邮箱格式不正确...").css("color","red");
		}else{
			$("#regemail_msg").text("");
			$.post("json/userInfoAction_checkEmail",{"userInfo.email":email},function(data){
				data=parseInt($.trim(data.result));
				if(data==0){
					$("#regemail_msg").text("该邮箱已被注册，请更换邮箱...").css("color","red");
				}else if(data==1){
					$("#regemail_msg").text("该邮箱可以使用...").css("color","green");
				}else{
					$("#regemail_msg").text("由于网络原因，请稍后再试...").css("color","red");
				}
			},"json");
		}
		$("#regemail").css("border-color","#D4D4D4");
	});
	
	//密码的正则判断
	$("#password").keyup(function (e) {
        //alert("ascii="+e.which+"\nkeychar="+String.fromCharCode(e.which));
		var val=$("#password").val();
		var ls=checkRank(val);
		if(ls==1){
			$(".nopad li:eq(0)").css("background","#FF6666");
		}else if(ls==2){
			$(".nopad li:lt(2)").css("background","#FF9800");
		}else if(ls==3){
			$(".nopad li").css("background","#5BC92E");
		}
    });
	
	$("#username").focus(function(){
		$("#username").css("border-color","#5095ED");
    });
	
	$("#username").blur(function(){
		$("#username").css("border-color","#D4D4D4");
    });
	
	$("#password").focus(function(){
		$("#password_msg").text("");
		$("#password").css("border-color","#5095ED");
    });
	
	$("#password").blur(function(){
		var val=$.trim( $("#password").val() );
		if(val==''){
			$(".nopad li").css("background","#DCDCDC");
		}
		$("#password").css("border-color","#D4D4D4");
    });
	
	$("#reppassword").focus(function(){
		var password=$.trim($("#password").val());
		if(password==''){
			$("#password_msg").text("请输入密码...").css("color","red");
			$("#password").css("border-color","#E60012");
		}
		$("#reppassword").css("border-color","#5095ED");
	})
	
	$("#reppassword").blur(function(){
		var reppassword=$.trim($(this).val());
		var password=$.trim($("#password").val());
		if(password!=''){
			if(reppassword==password){
				$("#reppassword_msg").text("密码确认成功...").css("color","green");
				$("#reppassword").css("border-color","#D4D4D4");
			}else{
				$("#reppassword_msg").text("密码不一致...").css("color","red");
				$("#reppassword").css("border-color","#E60012");
			}
		}else{
			$("#reppassword").css("border-color","#D4D4D4");
		}
	});
	
	$("#tel").focus(function(){
		$("#tel").css("border-color","#5095ED");
    });
	
	$("#tel").blur(function(){
		$("#tel").css("border-color","#D4D4D4");
    });
	
	$("#regsafecode").focus(function(){
		$("#regsafecode").css("border-color","#5095ED");
    });
	
	$("#regsafecode").blur(function(){
		$("#regsafecode").css("border-color","#D4D4D4");
    });
});

var time=20;
var mytime;

function sendCode(){
	var email=$.trim($("#regemail").val());
	
	//先校验邮箱格式，如果邮箱格式条件满足，则开始发送请求
	if(email==""){
		$("#regemail_msg").text("邮箱不能为空...").css("color","red");
		return;
	}else{
		$("#regsafecode_msg").text("");
		$.post("json/userInfoAction_sendEmail",{'userInfo.email':email},function(data){
			data=parseInt($.trim(data.result));
			if(data==1){
				$("#regsafecode_msg").text("验证码已经发送，请登录邮箱获取，完成注册...").css("color","green");
				$("#regsafecodebtn").attr("disabled",true).val("重新发送(120s)");
				mytime=setInterval("changeVal()",1000);
			}else if(data==2){
				$("#regsafecode_msg").text("邮件发送失败，请检查邮箱是否正确...").css("color","red");
			}else{
				$("#regsafecode_msg").text("由于网络原因，请稍后再试...").css("color","red");
			}
		},"json");
	}
}

function changeVal(){
	time--;
	$("#regsafecodebtn").val("重新发送("+time+"s)");
	if(time<=0){
		$("#regsafecodebtn").attr("disabled",false).val("发送验证码");
		clearInterval(mytime);
	}
}

/*会员注册   $("#registererform").serialize()*/
function registerUserInfo(){
	var email=$("#regemail").val();
	var uname=$("#username").val();
	var pwd=$("#password").val();
	var tel=$("#tel").val();
	var province=$("#province").val();
	var city=$("#city").val();
	var area=$("#area").val();
	var code=$("#regsafecode").val();
	console.info(email+" "+uname+" "+pwd+" "+tel+" "+province+" "+city+" "+area);
	if(document.getElementById("argee").checked){
		$.post("json/userInfoAction_userRegister",{"userInfo.email":email,"userInfo.uname":uname,"userInfo.pwd":pwd,
			"userInfo.tel":tel,"userInfo.province":province,"userInfo.city":city,"userInfo.area":area,"userInfo.flag":code},function(data){
			data=parseInt($.trim(data.result));
			if(data==1){
				$("#regsafecode_msg").text("验证码已经过期，请从重新获取...").css("color","red");
			}else if(data==2){
				$("#regsafecode_msg").text("验证码输入有误...").css("color","red");
			}else if(data==3){

				alert("恭喜您注册成功");
				location.href="login.html";

			}else if(data==4){
				$("#regsafecode_msg").text("注册失败，请检查您的信息...").css("color","red");
			}else{
				$("#regsafecode_msg").text("系统繁忙，请稍后重试 ...").css("color","red");
			}
		},"json");
	}else{
		alert("您必须同意协议才能注册...");
		return;
	}
}

function checkRank(val){
	if(val.length<6||/^[0-9]{1,8}$/.test(val))
	{
		return 0;
    }
    var ls = 0;
	if (val.match(/[a-z]/g)){ ls++; }
	if(val.match(/[A-Z]/g)){ ls++; } 
	if (val.match(/[0-9]/g)){ ls++; }
	if (val.match(/[^a-zA-Z0-9]/g)){ ls++; }
	if (val.length < 8 && ls > 1){  ls = 1;   } 
	if(ls>3) {   ls=3; };
	return ls; 
}

/*
大多数浏览器都有读取和操作 XML 的内建 XML 解析器,微软IE基于ActiveX的MSXML
解析器把 XML 转换为 JavaScript 可访问的XML DOM对象
*/
function createIEXmlDom(){
	var arrs=["MSXML2.DOMDocument.6.0","MSXML2.DOMDocument.5.0","MSXML2.DOMDocument.4.0","MSXML2.DOMDocument.3.0","MSXML2.DOMDocument","Microsoft.XmlDom"];
	var ieXmlDom;
	for(var i=0;i<arrs.length;i++){
		try{
			ieXmlDom=new ActiveXObject(arrs[i]);
			return ieXmlDom;
		}catch(e){
			
		}
	}
	throw new Error("对不起,您的浏览器不支持...");
}

function xmlDom(){
	var dom;
	if(window.ActiveXObject){  //IE获取XML文档对象
		dom=createIEXmlDom();
	}else if(document.implementation&&document.implementation.createDocument){ //implementation：正在运行的程序
		//第一个参数是命名空间   第二个参数是跟标签   第三个一个doc类型
		dom=document.implementation.createDocument("","",null);
	}else{ //抛出异常
		throw new Error("对不起,您的浏览器不支持...");
	}
	return dom;
}

window.onload=function(){
	var dom;
	if(window.DOMParser&&!window.ActiveXObject){
		var xmlhttp=new XMLHttpRequest();
		xmlhttp.open("GET","city.xml",false);
		xmlhttp.send(null);
		if(xmlhttp.readyState==4){
			dom=xmlhttp.responseXML.documentElement;
		}
	}else{
		dom=xmlDom();
		dom.async=false;
		dom.load("city.xml");
	}
	
	//获取显示三级级联的三个下拉对象
	var pro=document.getElementById("province");
	var city=document.getElementById("city");
	var area=document.getElementById("area");
	
	//获取所有的省份
	var pros=dom.getElementsByTagName("province");
	
	for(var i=0;i<pros.length;i++){
		addOption(pros[i],pro);
	}
	
	//当省份发生改变时，后面的城市跟着改变,所以给省份的下拉对象添加一个onchange事件
	pro.onchange=function(){
		//获取当前选中的省份的编号
		var flag=pro.value;
		
		//清空以前的数据
		city.length=1;
		area.length=1;
		
		for(var i=0;i<pros.length;i++){
			//如果选中的省份的编号跟当前循环的对象编号一样
			if(pros[i].nodeType==1&&flag==pros[i].getAttribute("name")){
				//取出该省份下的所有市
				var cities=pros[i].childNodes;
				for(var j=0;j<cities.length;j++){
					if(cities[j].nodeType==1){
						addOption(cities[j],city);
					}
				}
				break;
			}
		}
	}
	
	//当城市发生变化的时候
	city.onchange=function(){
		var num=pro.value; //获取当前选中的省份
		var code=city.value; //获取当前选中的城市的编号
		area.length=1;//清空县下拉对象中原有的数据
		
		for(var i=0;i<pros.length;i++){
			//如果选中的省份的编号跟当前循环的对象编号一样
			if(pros[i].nodeType==1&&num==pros[i].getAttribute("name")){
				//获取当前省份下面的所有市
				var cities=pros[i].childNodes;
				
				
				//当前循环的城市跟选中的城市相同
				for(var j=0;j<cities.length;j++){
					if(cities[j].nodeType==1&&cities[j].getAttribute("name")==code){
						//获取当前城市下的所有地区
						var areas=cities[j].childNodes;
						
						for(var k=0;k<areas.length;k++){
							if(areas[k].nodeType==1){
								addOption(areas[k],area);
							}
						}
					}
				}
			}
		}
		
	}
	
}

//第一个是要添加的节点对象，第二个是要添加到的对象
function addOption(node,obj){
	if(node.nodeType==1){
		var opt=document.createElement("option");
		opt.appendChild( document.createTextNode( node.getAttribute("name") ) );
		opt.setAttribute("value",node.getAttribute("name"));
		obj.appendChild(opt);
		//<option value=''>湖南省</option>
	}
}